package br.com.churrascariabrasadeouro.persistencia;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import br.com.churrascariabrasadeouro.Principal;
import br.com.churrascariabrasadeouro.negocio.Usuario;

//para conexão com tabela usuário do datbase
public class UsuarioDAO {

	public void inserirUsuario(Usuario usuario){
		try {
			Connection conexao = Principal.banco.obterConexao();
			PreparedStatement ps = conexao.prepareStatement("insert into USUARIO  (NOME,USUARIO,SENHA) values (?,?,?)");
			ps.setString(1, usuario.getNome());
			ps.setString(2, usuario.getUsuario());
	        ps.setString(3, usuario.getSenha());
			ps.execute();
			ps.close();
			conexao.close();
		
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public boolean validarUsuario(Usuario usuario){
		boolean existe = false;
		try {
			Connection conexao = Principal.banco.obterConexao();
			PreparedStatement ps = conexao.prepareStatement("select ID,USUARIO,SENHA from USUARIO where USUARIO = ? and senha = ?");
			ps.setString(1, usuario.getUsuario());
	        ps.setString(2, usuario.getSenha());
	        ResultSet rs = ps.executeQuery();
	        if(rs.next()){
	        	existe=true;
	        }
			conexao.close();
		
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return existe;
	}
	
	public ArrayList<Usuario> listarTodosUsuarios(){
		ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
		try {
			Connection conexao = Principal.banco.obterConexao();
			Statement stmt = conexao.createStatement();
			ResultSet rs = stmt.executeQuery("Select ID,NOME,USUARIO FROM USUARIO");
			while(rs.next()){
				Usuario usuario = new Usuario();
				usuario.setId(rs.getInt(1));
				usuario.setNome(rs.getString(2));
				usuario.setUsuario(rs.getString(3));
				usuarios.add(usuario);
			}
			conexao.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return usuarios;
	}
	
	
	
}